iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 11
1
IoT

30天入門智慧家庭系列 第 11 篇

Day 11 Home Assistant 架構

  • 分享至 

  • xImage
  •  

Home Assistant 架構

系統架構

架構圖

Home Control

Home Control 是 Home Assistant 的核心,負責蒐集資訊並執行命令。依照使用者指令,控制所有的設備。

Home Automation

根據使用者事先設定的規則來執行。簡單的說就是自動化,例如我們會想要夏天天氣熱時,剛到家門口,冷氣先幫我們開啟來預冷。這時就可以設定如下:

  • trigger:每天
  • Connection:我在位置在家、溫度大於28度
  • Action:開啟冷氣

Smart Home

根據之前出現過的行為執行的命令。(目前 Home Assistant 尚未實現這個部分,或許是指透過過去的行為來決定要執行甚麼指令,machine learning 的概念?)

Internet of things

我們的設備,包含我們的燈、網關、音箱...。

Home Core 架構

Home Core 由 Event Bus、State Machine、Service Registry、Timer 這四個部分組成。
Home Core 架構圖

Event Bus

Event Bus 是 Home Core的核心,是整個 Home Assistant 核心。Evnet Bus 負責管理每個 Event,處理各 Event 間數據的傳輸。
例如:當我們今天天氣很熱,想要開冷氣。我們可以設定溫度計溫度超過某溫度時就會發起一個高溫訊息 (Firing events),而我們就不需要知道溫度幾度,監看溫度計有沒有發出高溫訊息(Listening to events),就可以決定要不要開啟冷氣。

State Machine

State Machine 負責監控,當一有設備更改狀態時,會發送一個 state_changed event。

Service Registry

負責監聽 Event Bus 是否有 call_service 這個 Event,並允許其他的程式來註冊 Service。

Timer

Timer 每秒會發送一個 time_changed 的 Event 給 Event Bus,讓 Event Bus 知道過了一秒。例如: 當我們有一個設備需要每分鐘去檢查一次狀態時,我們可以設定 Home Assistant 的 scan_interval:60 讓 Home Assistant 每 60 秒去詢問一次狀態,Timer 這裡就負責當計時的腳色。

小結

Home Assistant 的架構主要分成三大部分,Home Control (Home Assistant的核心)、Home Automation (建立自動化規則)、Internet of things (設備)。透過核心的 Event Bus 將設備發起的 Event 通知使用者或是依照使用者建立的自動化規則執行指令。


上一篇
Day10 Home Assistant UI LoveLace
下一篇
Day12 ESP8266
系列文
30天入門智慧家庭 共 15 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言